package br.gov.pe.seres.siap.business.implementation;

import java.util.List;
import org.primefaces.context.RequestContext;
import br.com.banksystem.bsdemoiselle.business.filtro.BSFiltroGenerico;
import br.com.banksystem.bsdemoiselle.domain.IBSUsuario;
import br.com.banksystem.bsdemoiselle.exception.BSException;
import br.com.banksystem.bsdemoiselle.util.BSUtil;
import br.gov.frameworkdemoiselle.stereotype.BusinessController;
import br.gov.pe.seres.siap.bean.#NOMEBEAN#;
import br.gov.pe.seres.siap.bean.Documento;
import br.gov.pe.seres.siap.bean.TipoDocumentoEnum;
import br.gov.pe.seres.siap.bean.Vulgo;
import br.gov.pe.seres.siap.business.I#NOMEBEAN#BC;
import br.gov.pe.seres.siap.persistence.I#NOMEBEAN#DAO;

@BusinessController
public class #NOMEBEAN#BC extends DocumentoBC<#NOMEBEAN#, I#NOMEBEAN#DAO> implements I#NOMEBEAN#BC {

	@Override
	public void permitirAdicao#NOMEBEAN#PeloPopUp(List<Documento> listaDocumentoPopup, #NOMEBEAN# #NOMEBEANATTR#) {
		#NOMEBEANATTR#.setTipoDocumento(TipoDocumentoEnum.#ENUM_VAL#);
		this.validarCamposObrigatorios(#NOMEBEANATTR#);
		if ((listaDocumentoPopup != null) && listaDocumentoPopup.contains(#NOMEBEANATTR#)) {
			RequestContext.getCurrentInstance().execute("statusAjaxDialog.hide()");
			throw new BSException(br.gov.pe.seres.siap.message.ErrorMessage.ERROR_OBJETO_EXISTENTE_LISTA, getPojoUtil().getNomeClasse(Documento.class));
		}
	}

	@Override
	public void permitirAlteracao#NOMEBEAN#PeloPopUp(List<Documento> listaDocumentoPopup, #NOMEBEAN# #NOMEBEANATTR#, Documento #NOMEBEANATTR#Deletar) {
		this.validarCamposObrigatorios(#NOMEBEANATTR#);
		if (!#NOMEBEANATTR#Deletar.equals(#NOMEBEANATTR#) && listaDocumentoPopup.contains(#NOMEBEANATTR#)) { throw new BSException(
				br.gov.pe.seres.siap.message.ErrorMessage.ERROR_OBJETO_EXISTENTE_LISTA, getPojoUtil().getNomeClasse(#NOMEBEAN#.class)); }
	}

	@Override
	protected void validarAlteracaoEntidade(#NOMEBEAN# pojo, IBSUsuario usuario) {
		// TODO Auto-generated method stub

	}

	@Override
	protected void validarConsultaEntidade(BSFiltroGenerico<#NOMEBEAN#> filtro) {
		// TODO Auto-generated method stub

	}

	@Override
	protected void validarExclusaoEntidade(#NOMEBEAN# pojo, IBSUsuario usuario) {
		// TODO Auto-generated method stub

	}

	@Override
	protected void validarInclusaoEntidade(#NOMEBEAN# pojo, IBSUsuario usuario) {
		// TODO Auto-generated method stub

	}

	@Override
	protected void validarUnicidadeEntidade(#NOMEBEAN# pojo, IBSUsuario usuario) {

	}

}
